第九章 排序                                                             

一、填空题


1. 大多数排序算法都有两个基本的操作:                              
2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较      次。
3. 在插入和选择排序中,若初始数据基本正序,则选用        ;若初始数据基本反序,则选用       
4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用           ;若初始记录基本无序,则最好选用     
5. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则:
冒泡排序一趟扫描的结果是                         
初始步长为4的希尔(shell)排序一趟的结果是                         
二路归并排序一趟扫描的结果是                          
快速排序一趟扫描的结果是                             
堆排序初始建堆的结果是                             


二、单项选择题


(    )1排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为
           A. 希尔排序           B. 冒泡排序           C. 插入排序           D. 选择排序
(    )2.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为
           A. 希尔排序           B. 归并排序           C. 插入排序           D. 选择排序
(    )3.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。
           A. 从小到大排列好的           B. 从大到小排列好的           C. 元素无序           D. 元素基本有序
(    )4.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为
           A. n+1           B. n            C. n-1           D. n(n-1)/2
(    )5.对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是
           A. O(n)           B. O(n2)           C. O(nlog2n)           D.O(n3)
(    )6.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为
           A.  38,  40,  46,  56,  79,  84            B.  40,  38,  46,  79,  56,  84          

           C.  40,  38,  46,  56,  79,  84            D.  40,  38,  46,  84,  56,  79
(    )7.下列关键字序列中,       是堆。
           A.  16,  72,  31,  23,  94,  53            B.  94,  23,  31,  72,  16,  53          

           C.  16,  53,  23,  94,  31,  72            D.  16,  23,  53,  31,  94,  72

 



朱丹,电话:0412-8413220